let express = require('express')
var consolidate = require('consolidate')
var server = express()

// 使用consolidate 配置ejs模板引擎

server.set('view engine','html');

server.set('views','./views');

server.engine('html',consolidate.ejs);

//设置网站的静态路径 css js
var path = require('path')
server.use(express.static(path.join(__dirname, 'public')));

//引入模块
const bodyParser = require('body-parser');
//定义urlencoded中间件
server.use(bodyParser.urlencoded({extended:1000*60}));



let lists = [
    {
        title:'文章111',
        content:'内容111'
    },
    {
        title:'文章222',
        content:'内容222'
    },
    {
        title:'文章333',
        content:'内容333'
    }
]

// 文章列表
server.get('/index',(req,res)=>{
    let data = {
        username:'yuonly',
        lists: lists
    }
    res.render('index.ejs',data)
})

//1 .  app.js 增加一个路由  
//2 . 在views目录下 增加一个文件  content.ejs
//3 . 修改 views 目录下  index.ejs 给文章标题添加 a链接 并且配置 a链接 href 属性 href="/content"
//文章内容页
server.get('/content',(req,res)=>{
    // 需要获取 id的值
    let id = req.query.id
    console.log(id)
    //需要使用文章列表 lists这个数组  ,那当前文章的数据  =》   lists[id]
    // console.log(lists[id])

    let data = {
        article: lists[id]
    }
    // 将当前文章的数据 分配(传递)到 content.ejs 模板引擎中
    console.log(data)
    res.render('content.ejs', data)
})

//添加文章页面显示路由, server.get  所以这个路由只能接受get请求
server.get('/add',(req,res)=>{
    res.render('add.ejs')
})

// post请求的 添加文章路由,如果想拿到post数据，那么需要配置 bodyparser，配置方法参照该链接 
// https://gitee.com/hdlz/node/blob/master/2.express.md

//0. 修改add.ejs文件 给form 添加一个method="POST" 的属性，给每一个表单文本框 增加 name属性  title  content
//1. 安装 bodyparser  在项目根目录中 npm install body-parser
//2. 在app.js 中， 配置bodyparser 参照 上面链接 
//3. 增加一个 post请求的路由 在内部使用 console.log(req.body)  查看post过来的数据

server.post('/add',(req,res)=>{
    // console.log('add post')
    // console.log(req.body)
    let article = req.body //当前添加的文章数据
    lists.push(article) // 将文章数据加入 文章列表数组
    // 添加完成后，要重定向跳转到列表页面
    res.redirect('/index')  // 127.0.0.1:端口/index
})

server.listen(8000)


